문자열 데이터 다루기

✒️ 2026-07-01 20:24 내용 수정


실습 참고 자료


문자열 추가

@Test  
public void stringRange() {  
	CommandAction action = (redisCommands -> {  
		// Redis 연결 테스트를 위한 Key-value            
		String key = "lettuce:string";  
		String value = "hello";  

		redisCommands.set(key, value);  

		// 저장된 key-value 확인  
		String get = redisCommands.get(key);  
		System.out.println("get = " + get);  

		// key에 저장된 value에 문자열 추가하기  
		redisCommands.append(key, "_addr");  
		System.out.println("get = " + redisCommands.get(key));  

	});  
	CommandTemplate.commandAction(action);  
}  

springboot_redis 11.png


문자열 길이 확인

@Test  
public void stringRange() {  
	CommandAction action = (redisCommands -> {  
		// Redis 연결 테스트를 위한 Key-value            
		String key = "lettuce:string";  
		String value = "hello";  

		redisCommands.set(key, value);  

		// 저장된 key-value 확인  
		String get = redisCommands.get(key);  
		System.out.println("get = " + get);  

		// key에 저장된 value에 문자열 추가하기  
		redisCommands.append(key, "_addr");  
		System.out.println("get = " + redisCommands.get(key));  

		// 문자열 길이 확인  
		Long strlen = redisCommands.strlen(key);  
		System.out.println("strlen = " + strlen);  
	});  
	CommandTemplate.commandAction(action);  
}  

springboot_redis 12.png


문자열 추출과 치환

@Test  
public void stringRange() {  
	CommandAction action = (redisCommands -> {  
		// Redis 연결 테스트를 위한 Key-value            
		String key = "lettuce:string";  
		String value = "hello";  

		redisCommands.set(key, value);  

		// 저장된 key-value 확인  
		String get = redisCommands.get(key);  
		System.out.println("get = " + get);  

		// key에 저장된 value에 문자열 추가하기  
		redisCommands.append(key, "_addr");  
		System.out.println("get = " + redisCommands.get(key));  

		// 문자열 길이 확인  
		Long strlen = redisCommands.strlen(key);  
		System.out.println("strlen = " + strlen);  
		
		// 문자열 추출  
		String getRange = redisCommands.getrange(key, 0, 4);  
		System.out.println("getRange = " + getRange);  
		  
		// 문자열 치환  
		redisCommands.setrange(key, 6, "updateStr");  
		System.out.println("update Get = " + redisCommands.get(key));
	});  
	CommandTemplate.commandAction(action);  
}  

springboot_redis 13.png


mset, mget

@Test  
public void stringRange() {  
	CommandAction action = (redisCommands -> {  
		// Redis 연결 테스트를 위한 Key-value            
		String key = "lettuce:string";  
		String value = "hello";  

		redisCommands.set(key, value);  

		// 저장된 key-value 확인  
		String get = redisCommands.get(key);  
		System.out.println("get = " + get);  

		// key에 저장된 value에 문자열 추가하기  
		redisCommands.append(key, "_addr");  
		System.out.println("get = " + redisCommands.get(key));  

		// 문자열 길이 확인  
		Long strlen = redisCommands.strlen(key);  
		System.out.println("strlen = " + strlen);  
		
		// 문자열 추출  
		String getRange = redisCommands.getrange(key, 0, 4);  
		System.out.println("getRange = " + getRange);  
		  
		// 문자열 치환  
		redisCommands.setrange(key, 6, "updateStr");  
		System.out.println("update Get = " + redisCommands.get(key));
		
		// MSET  
		Map<String, String> map = new LinkedHashMap<>();  
		// map에 데이터 넣기
		for (int i = 0; i < 5; i++) {  
		    map.put(key + i, value + i);  
		}  
		// 생성한 map 저장
		redisCommands.mset(map);  
		  
		// MGET  
		List<KeyValue<String, String>> mapResult = redisCommands  
		        .mget(map.keySet().toArray(new String[0]));  
		        
		mapResult.stream().forEach(m -> {  
		    System.out.println("key = " + m.getKey() + " | value = " + m.getValue());  
		});
			});  
		CommandTemplate.commandAction(action);  
}  

springboot_redis 14.png